home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / PRG / Mac_F2C_1.3.2.sit / Mac F2C 1.3.2 / Test Project ƒ / test.cp (C++ Output) < prev    next >
Text File  |  1996-06-24  |  18KB  |  588 lines

  1. /* test.f -- translated by f2c (version 19941113).
  2.    You must link the resulting object file with the libraries:
  3.     -lf2c -lm   (in that order)
  4. */
  5.  
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9. #include "f2c.h"
  10.  
  11. /* Table of constant values */
  12.  
  13. static integer c__9 = 9;
  14. static integer c__1 = 1;
  15. static integer c__10 = 10;
  16. static integer c__3 = 3;
  17. static integer c__4 = 4;
  18. static integer c__5 = 5;
  19. static doublereal c_b152 = .33333333333333331;
  20.  
  21. /* Main program */ MAIN__()
  22. {
  23.     /* Format strings */
  24.     static char fmt_99[] = "(a1)";
  25.  
  26.     /* Builtin functions */
  27.     integer s_wsle(cilist *), do_lio(integer *, integer *, char *, ftnlen), 
  28.         e_wsle(), s_rsfe(cilist *), do_fio(integer *, char *, ftnlen), 
  29.         e_rsfe();
  30.     /* Subroutine */ int s_stop(char *, ftnlen);
  31.  
  32.     /* Local variables */
  33.     static char junk[2];
  34.     extern /* Subroutine */ int alg_test__(integer *), i_o_test__(), 
  35.         flt_test__(integer *), int_test__(integer *), trn_test__();
  36.  
  37.     /* Fortran I/O blocks */
  38.     static cilist io___1 = { 0, 6, 0, 0, 0 };
  39.     static cilist io___2 = { 0, 6, 0, 0, 0 };
  40.     static cilist io___3 = { 0, 5, 0, fmt_99, 0 };
  41.     static cilist io___5 = { 0, 6, 0, 0, 0 };
  42.     static cilist io___6 = { 0, 6, 0, 0, 0 };
  43.     static cilist io___7 = { 0, 5, 0, fmt_99, 0 };
  44.     static cilist io___8 = { 0, 6, 0, 0, 0 };
  45.     static cilist io___9 = { 0, 6, 0, 0, 0 };
  46.     static cilist io___10 = { 0, 5, 0, fmt_99, 0 };
  47.     static cilist io___11 = { 0, 6, 0, 0, 0 };
  48.     static cilist io___12 = { 0, 6, 0, 0, 0 };
  49.     static cilist io___13 = { 0, 5, 0, fmt_99, 0 };
  50.     static cilist io___14 = { 0, 6, 0, 0, 0 };
  51.     static cilist io___15 = { 0, 6, 0, 0, 0 };
  52.     static cilist io___16 = { 0, 5, 0, fmt_99, 0 };
  53.     static cilist io___17 = { 0, 6, 0, 0, 0 };
  54.  
  55.  
  56. /*     This is a FORTRAN program to test Mac F2C v1.1 */
  57.     s_wsle(&io___1);
  58.     do_lio(&c__9, &c__1, "*****   Input/Output Test   *****", 33L);
  59.     e_wsle();
  60.     i_o_test__();
  61.     s_wsle(&io___2);
  62.     do_lio(&c__9, &c__1, "¥n*****   End of I/O test, hit return to continue.¥
  63. ..", 51L);
  64.     e_wsle();
  65.     s_rsfe(&io___3);
  66.     do_fio(&c__1, junk, 2L);
  67.     e_rsfe();
  68.     s_wsle(&io___5);
  69.     do_lio(&c__9, &c__1, "¥n*****   Integer Math Test   *****", 34L);
  70.     e_wsle();
  71.     int_test__(&c__10);
  72.     s_wsle(&io___6);
  73.     do_lio(&c__9, &c__1, "¥n*****   End of integer math test, hit return to ¥
  74. continue...", 60L);
  75.     e_wsle();
  76.     s_rsfe(&io___7);
  77.     do_fio(&c__1, junk, 2L);
  78.     e_rsfe();
  79.     s_wsle(&io___8);
  80.     do_lio(&c__9, &c__1, "¥n*****   Floating Point Math Test   *****", 41L);
  81.     e_wsle();
  82.     flt_test__(&c__10);
  83.     s_wsle(&io___9);
  84.     do_lio(&c__9, &c__1, "¥n*****   End of floating point math test, hit ret¥
  85. urn to continue...", 67L);
  86.     e_wsle();
  87.     s_rsfe(&io___10);
  88.     do_fio(&c__1, junk, 2L);
  89.     e_rsfe();
  90.     s_wsle(&io___11);
  91.     do_lio(&c__9, &c__1, "¥n*****   Algebraic Function Test   *****", 40L);
  92.     e_wsle();
  93.     alg_test__(&c__10);
  94.     s_wsle(&io___12);
  95.     do_lio(&c__9, &c__1, "¥n*****   End of algebraic function test, hit retu¥
  96. rn to continue...", 66L);
  97.     e_wsle();
  98.     s_rsfe(&io___13);
  99.     do_fio(&c__1, junk, 2L);
  100.     e_rsfe();
  101.     s_wsle(&io___14);
  102.     do_lio(&c__9, &c__1, "¥n*****   Transcendental Function Test   *****", 
  103.         45L);
  104.     e_wsle();
  105.     trn_test__();
  106.     s_wsle(&io___15);
  107.     do_lio(&c__9, &c__1, "¥n*****   End of transcendental function test, hit¥
  108.  return to continue...", 71L);
  109.     e_wsle();
  110.     s_rsfe(&io___16);
  111.     do_fio(&c__1, junk, 2L);
  112.     e_rsfe();
  113.     s_wsle(&io___17);
  114.     do_lio(&c__9, &c__1, "¥n*****   This completes all of the tests   *****", 
  115.         48L);
  116.     e_wsle();
  117.     s_stop("", 0L);
  118.     return 0;
  119. } /* MAIN__ */
  120.  
  121. /**************************************************************************/
  122.  
  123. /*     Subroutine to do the I/O tests */
  124.  
  125. /**************************************************************************/
  126. /* Subroutine */ int i_o_test__()
  127. {
  128.     /* Format strings */
  129.     static char fmt_312[] = "(1x,¥002The number you entered was: ¥002,f13.6)";
  130.     static char fmt_313[] = "(1x,¥002The number you entered was: ¥002,f17.10)"
  131.         ;
  132.     static char fmt_399[] = "(a1)";
  133.     static char fmt_304[] = "(5x,a20,5(i1,2x),5x,5(f4.2,2x))";
  134.  
  135.     /* System generated locals */
  136.     olist o__1;
  137.     cllist cl__1;
  138.  
  139.     /* Builtin functions */
  140.     integer s_wsle(cilist *), do_lio(integer *, integer *, char *, ftnlen), 
  141.         e_wsle(), s_rsle(cilist *), e_rsle(), s_wsfe(cilist *), do_fio(
  142.         integer *, char *, ftnlen), e_wsfe(), s_rsfe(cilist *), e_rsfe();
  143.     void s_copy(char *, char *, ftnlen, ftnlen);
  144.     integer f_open(olist *), s_wsue(cilist *), do_uio(integer *, char *, 
  145.         ftnlen), e_wsue(), f_clos(cllist *), s_rsue(cilist *), e_rsue();
  146.  
  147.     /* Local variables */
  148.     static char text[40];
  149.     static real a[5];
  150.     static integer i, j[5];
  151.     static real x;
  152.     static doublereal dx;
  153.  
  154.     /* Fortran I/O blocks */
  155.     static cilist io___18 = { 0, 6, 0, 0, 0 };
  156.     static cilist io___19 = { 0, 5, 0, 0, 0 };
  157.     static cilist io___21 = { 0, 6, 0, 0, 0 };
  158.     static cilist io___22 = { 0, 6, 0, 0, 0 };
  159.     static cilist io___23 = { 0, 5, 0, 0, 0 };
  160.     static cilist io___25 = { 0, 6, 0, fmt_312, 0 };
  161.     static cilist io___26 = { 0, 6, 0, 0, 0 };
  162.     static cilist io___27 = { 0, 5, 0, 0, 0 };
  163.     static cilist io___29 = { 0, 6, 0, fmt_313, 0 };
  164.     static cilist io___30 = { 0, 6, 0, 0, 0 };
  165.     static cilist io___31 = { 0, 5, 0, 0, 0 };
  166.     static cilist io___33 = { 0, 6, 0, 0, 0 };
  167.     static cilist io___34 = { 0, 6, 0, 0, 0 };
  168.     static cilist io___35 = { 0, 5, 0, fmt_399, 0 };
  169.     static cilist io___38 = { 0, 60, 0, 0, 0 };
  170.     static cilist io___39 = { 0, 6, 0, 0, 0 };
  171.     static cilist io___40 = { 0, 6, 0, fmt_304, 0 };
  172.     static cilist io___41 = { 0, 50, 0, 0, 0 };
  173.     static cilist io___42 = { 0, 6, 0, 0, 0 };
  174.     static cilist io___43 = { 0, 6, 0, fmt_304, 0 };
  175.  
  176.  
  177. /*     Screen I/O tests */
  178.     s_wsle(&io___18);
  179.     do_lio(&c__9, &c__1, "¥nPart 1:  Screen I/O tests.¥n¥nEnter an integer v¥
  180. alue.", 52L);
  181.     e_wsle();
  182.     s_rsle(&io___19);
  183.     do_lio(&c__3, &c__1, (char *)&i, (ftnlen)sizeof(integer));
  184.     e_rsle();
  185.     s_wsle(&io___21);
  186.     do_lio(&c__9, &c__1, "The number you entered was:", 27L);
  187.     do_lio(&c__3, &c__1, (char *)&i, (ftnlen)sizeof(integer));
  188.     e_wsle();
  189.     s_wsle(&io___22);
  190.     do_lio(&c__9, &c__1, "¥nEnter a single precision floating point value...",
  191.          49L);
  192.     e_wsle();
  193.     s_rsle(&io___23);
  194.     do_lio(&c__4, &c__1, (char *)&x, (ftnlen)sizeof(real));
  195.     e_rsle();
  196.     s_wsfe(&io___25);
  197.     do_fio(&c__1, (char *)&x, (ftnlen)sizeof(real));
  198.     e_wsfe();
  199.     s_wsle(&io___26);
  200.     do_lio(&c__9, &c__1, "¥nEnter a double precision floating point value...",
  201.          49L);
  202.     e_wsle();
  203.     s_rsle(&io___27);
  204.     do_lio(&c__5, &c__1, (char *)&dx, (ftnlen)sizeof(doublereal));
  205.     e_rsle();
  206.     s_wsfe(&io___29);
  207.     do_fio(&c__1, (char *)&dx, (ftnlen)sizeof(doublereal));
  208.     e_wsfe();
  209.     s_wsle(&io___30);
  210.     do_lio(&c__9, &c__1, "¥nEnter some text (40 char max)...", 33L);
  211.     e_wsle();
  212.     s_rsle(&io___31);
  213.     do_lio(&c__9, &c__1, text, 40L);
  214.     e_rsle();
  215.     s_wsle(&io___33);
  216.     do_lio(&c__9, &c__1, "The text you entered was: ", 26L);
  217.     do_lio(&c__9, &c__1, text, 40L);
  218.     e_wsle();
  219.     s_wsle(&io___34);
  220.     do_lio(&c__9, &c__1, "¥nPart 2:  file I/O tests.  Hit return to continue¥
  221. ...", 52L);
  222.     e_wsle();
  223.     s_rsfe(&io___35);
  224.     do_fio(&c__1, text, 40L);
  225.     e_rsfe();
  226. /*     File I/O tests:  Store some values and write them to file */
  227.     for (i = 1; i <= 5; ++i) {
  228.     j[i - 1] = i;
  229.     a[i - 1] = (doublereal) i;
  230.     }
  231.     s_copy(text, "A test message.", 40L, 15L);
  232.     o__1.oerr = 0;
  233.     o__1.ounit = 60;
  234.     o__1.ofnmlen = 8;
  235.     o__1.ofnm = "test.dat";
  236.     o__1.orl = 0;
  237.     o__1.osta = 0;
  238.     o__1.oacc = 0;
  239.     o__1.ofm = "unformatted";
  240.     o__1.oblnk = 0;
  241.     f_open(&o__1);
  242.     s_wsue(&io___38);
  243.     do_uio(&c__1, text, 40L);
  244.     do_uio(&c__5, (char *)&j[0], (ftnlen)sizeof(integer));
  245.     do_uio(&c__5, (char *)&a[0], (ftnlen)sizeof(real));
  246.     e_wsue();
  247.     cl__1.cerr = 0;
  248.     cl__1.cunit = 60;
  249.     cl__1.csta = 0;
  250.     f_clos(&cl__1);
  251.     s_wsle(&io___39);
  252.     do_lio(&c__9, &c__1, "Wrote the following data to file test.dat:¥n", 43L);
  253.     e_wsle();
  254.     s_wsfe(&io___40);
  255.     do_fio(&c__1, text, 40L);
  256.     for (i = 1; i <= 5; ++i) {
  257.     do_fio(&c__1, (char *)&j[i - 1], (ftnlen)sizeof(integer));
  258.     }
  259.     for (i = 1; i <= 5; ++i) {
  260.     do_fio(&c__1, (char *)&a[i - 1], (ftnlen)sizeof(real));
  261.     }
  262.     e_wsfe();
  263. /* Reset the variables and read them back */
  264.     for (i = 1; i <= 5; ++i) {
  265.     j[i - 1] = 99;
  266.     a[i - 1] = (float)99.;
  267.     }
  268.     s_copy(text, "reset", 40L, 5L);
  269.     o__1.oerr = 0;
  270.     o__1.ounit = 50;
  271.     o__1.ofnmlen = 8;
  272.     o__1.ofnm = "test.dat";
  273.     o__1.orl = 0;
  274.     o__1.osta = 0;
  275.     o__1.oacc = 0;
  276.     o__1.ofm = "unformatted";
  277.     o__1.oblnk = 0;
  278.     f_open(&o__1);
  279.     s_rsue(&io___41);
  280.     do_uio(&c__1, text, 40L);
  281.     do_uio(&c__5, (char *)&j[0], (ftnlen)sizeof(integer));
  282.     do_uio(&c__5, (char *)&a[0], (ftnlen)sizeof(real));
  283.     e_rsue();
  284.     cl__1.cerr = 0;
  285.     cl__1.cunit = 50;
  286.     cl__1.csta = 0;
  287.     f_clos(&cl__1);
  288.     s_wsle(&io___42);
  289.     do_lio(&c__9, &c__1, "¥nRead the following data from file test.dat:¥n", 
  290.         45L);
  291.     e_wsle();
  292.     s_wsfe(&io___43);
  293.     do_fio(&c__1, text, 40L);
  294.     for (i = 1; i <= 5; ++i) {
  295.     do_fio(&c__1, (char *)&j[i - 1], (ftnlen)sizeof(integer));
  296.     }
  297.     for (i = 1; i <= 5; ++i) {
  298.     do_fio(&c__1, (char *)&a[i - 1], (ftnlen)sizeof(real));
  299.     }
  300.     e_wsfe();
  301.     return 0;
  302. } /* i_o_test__ */
  303.  
  304. /**************************************************************************/
  305.  
  306. /*     Subroutine to do the integer math tests */
  307.  
  308. /**************************************************************************/
  309. /* Subroutine */ int int_test__(integer *m)
  310. {
  311.     /* Format strings */
  312.     static char fmt_203[] = "(10x,¥002n¥002,5x,¥002n^2¥002,5x,¥002n^3¥002,¥
  313. 5x,¥002n/2¥002,3x,¥002n^2/2¥002,3x,¥002n^3/2¥002)";
  314.     static char fmt_202[] = "(5x,6(i6,2x))";
  315.  
  316.     /* System generated locals */
  317.     integer i__1, i__2, i__3, i__4;
  318.  
  319.     /* Builtin functions */
  320.     integer s_wsle(cilist *), do_lio(integer *, integer *, char *, ftnlen), 
  321.         e_wsle(), s_wsfe(cilist *), e_wsfe(), do_fio(integer *, char *, 
  322.         ftnlen);
  323.  
  324.     /* Local variables */
  325.     static integer i, j, k;
  326.  
  327.     /* Fortran I/O blocks */
  328.     static cilist io___44 = { 0, 6, 0, 0, 0 };
  329.     static cilist io___45 = { 0, 6, 0, fmt_203, 0 };
  330.     static cilist io___49 = { 0, 6, 0, fmt_202, 0 };
  331.  
  332.  
  333.     s_wsle(&io___44);
  334.     do_lio(&c__9, &c__1, "¥nGenerate a table of integers, squares, cubes, an¥
  335. d their halves.¥n", 65L);
  336.     e_wsle();
  337.     s_wsfe(&io___45);
  338.     e_wsfe();
  339.     i__1 = *m;
  340.     for (i = 1; i <= i__1; ++i) {
  341. /* Computing 2nd power */
  342.     i__2 = i;
  343.     j = i__2 * i__2;
  344. /* Computing 3rd power */
  345.     i__2 = i, i__3 = i__2;
  346.     k = i__3 * (i__2 * i__2);
  347.     s_wsfe(&io___49);
  348.     do_fio(&c__1, (char *)&i, (ftnlen)sizeof(integer));
  349.     do_fio(&c__1, (char *)&j, (ftnlen)sizeof(integer));
  350.     do_fio(&c__1, (char *)&k, (ftnlen)sizeof(integer));
  351.     i__2 = i / 2;
  352.     do_fio(&c__1, (char *)&i__2, (ftnlen)sizeof(integer));
  353.     i__3 = j / 2;
  354.     do_fio(&c__1, (char *)&i__3, (ftnlen)sizeof(integer));
  355.     i__4 = k / 2;
  356.     do_fio(&c__1, (char *)&i__4, (ftnlen)sizeof(integer));
  357.     e_wsfe();
  358.     }
  359.     return 0;
  360. } /* int_test__ */
  361.  
  362. /**************************************************************************/
  363.  
  364. /*     Subroutine to do the floating point math tests */
  365.  
  366. /**************************************************************************/
  367. /* Subroutine */ int flt_test__(integer *m)
  368. {
  369.     /* Format strings */
  370.     static char fmt_205[] = "(12x,¥002x¥002,6x,¥002x^2¥002,6x,¥002x^3¥002,¥
  371. 6x,¥002x/2¥002,4x,¥002x^2/2¥002,4x,¥002x^3/2¥002)";
  372.     static char fmt_201[] = "(5x,6(f8.2,1x))";
  373.  
  374.     /* System generated locals */
  375.     integer i__1;
  376.     real r__1, r__2, r__3;
  377.  
  378.     /* Builtin functions */
  379.     integer s_wsle(cilist *), do_lio(integer *, integer *, char *, ftnlen), 
  380.         e_wsle(), s_wsfe(cilist *), e_wsfe(), do_fio(integer *, char *, 
  381.         ftnlen);
  382.  
  383.     /* Local variables */
  384.     static integer i;
  385.     static real x1, x2, x3;
  386.  
  387.     /* Fortran I/O blocks */
  388.     static cilist io___50 = { 0, 6, 0, 0, 0 };
  389.     static cilist io___51 = { 0, 6, 0, fmt_205, 0 };
  390.     static cilist io___56 = { 0, 6, 0, fmt_201, 0 };
  391.  
  392.  
  393.     s_wsle(&io___50);
  394.     do_lio(&c__9, &c__1, "¥nGenerate a table of floats, their squares, cubes¥
  395. , and their halves.¥n", 69L);
  396.     e_wsle();
  397.     s_wsfe(&io___51);
  398.     e_wsfe();
  399.     i__1 = *m;
  400.     for (i = 1; i <= i__1; ++i) {
  401.     x1 = i * (float)1.;
  402. /* Computing 2nd power */
  403.     r__1 = x1;
  404.     x2 = r__1 * r__1;
  405. /* Computing 3rd power */
  406.     r__1 = x1, r__2 = r__1;
  407.     x3 = r__2 * (r__1 * r__1);
  408.     s_wsfe(&io___56);
  409.     do_fio(&c__1, (char *)&x1, (ftnlen)sizeof(real));
  410.     do_fio(&c__1, (char *)&x2, (ftnlen)sizeof(real));
  411.     do_fio(&c__1, (char *)&x3, (ftnlen)sizeof(real));
  412.     r__1 = x1 / 2;
  413.     do_fio(&c__1, (char *)&r__1, (ftnlen)sizeof(real));
  414.     r__2 = x2 / 2;
  415.     do_fio(&c__1, (char *)&r__2, (ftnlen)sizeof(real));
  416.     r__3 = x3 / 2;
  417.     do_fio(&c__1, (char *)&r__3, (ftnlen)sizeof(real));
  418.     e_wsfe();
  419.     }
  420.     return 0;
  421. } /* flt_test__ */
  422.  
  423. /**************************************************************************/
  424.  
  425. /*     Subroutine to do the algebraic function tests */
  426.  
  427. /**************************************************************************/
  428. /* Subroutine */ int alg_test__(integer *m)
  429. {
  430.     /* Format strings */
  431.     static char fmt_305[] = "(10x,¥002x¥002,7x,¥002SQRT(x)¥002,4x,¥002CURT¥
  432. (x)¥002,3x,¥002SQRT(x)^2¥002,2x,¥002CURT(x)^3¥002)";
  433.     static char fmt_301[] = "(5x,6(f9.6,2x))";
  434.  
  435.     /* System generated locals */
  436.     integer i__1;
  437.     real r__1, r__2, r__3, r__4, r__5;
  438.     doublereal d__1;
  439.  
  440.     /* Builtin functions */
  441.     integer s_wsle(cilist *), do_lio(integer *, integer *, char *, ftnlen), 
  442.         e_wsle(), s_wsfe(cilist *), e_wsfe();
  443.     double sqrt(doublereal), pow_dd(doublereal *, doublereal *);
  444.     integer do_fio(integer *, char *, ftnlen);
  445.  
  446.     /* Local variables */
  447.     static integer i;
  448.     static real x1, x2, x3;
  449.  
  450.     /* Fortran I/O blocks */
  451.     static cilist io___57 = { 0, 6, 0, 0, 0 };
  452.     static cilist io___58 = { 0, 6, 0, fmt_305, 0 };
  453.     static cilist io___63 = { 0, 6, 0, fmt_301, 0 };
  454.  
  455.  
  456.     s_wsle(&io___57);
  457.     do_lio(&c__9, &c__1, "¥nGenerate a table of floats, square & cube roots,¥
  458.  and their squares & cubes.¥n", 77L);
  459.     e_wsle();
  460.     s_wsfe(&io___58);
  461.     e_wsfe();
  462.     i__1 = *m;
  463.     for (i = 1; i <= i__1; ++i) {
  464.     x1 = i * (float)1.;
  465.     x2 = sqrt(x1);
  466.     d__1 = (doublereal) x1;
  467.     x3 = pow_dd(&d__1, &c_b152);
  468.     s_wsfe(&io___63);
  469.     do_fio(&c__1, (char *)&x1, (ftnlen)sizeof(real));
  470.     do_fio(&c__1, (char *)&x2, (ftnlen)sizeof(real));
  471.     do_fio(&c__1, (char *)&x3, (ftnlen)sizeof(real));
  472. /* Computing 2nd power */
  473.     r__2 = x2;
  474.     r__1 = r__2 * r__2;
  475.     do_fio(&c__1, (char *)&r__1, (ftnlen)sizeof(real));
  476. /* Computing 3rd power */
  477.     r__4 = x3, r__5 = r__4;
  478.     r__3 = r__5 * (r__4 * r__4);
  479.     do_fio(&c__1, (char *)&r__3, (ftnlen)sizeof(real));
  480.     e_wsfe();
  481.     }
  482.     return 0;
  483. } /* alg_test__ */
  484.  
  485. /**************************************************************************/
  486.  
  487. /*     Subroutine to do the transcendental function tests */
  488.  
  489. /**************************************************************************/
  490. /* Subroutine */ int trn_test__()
  491. {
  492.     /* Format strings */
  493.     static char fmt_207[] = "(9x,¥002x¥002,9x,¥002sin(x)¥002,8x,¥002cos(x¥
  494. )¥002,4x,¥002sin(x)^2 + cos(x)^2¥002)";
  495.     static char fmt_200[] = "(5x,i2,¥002*pi/6¥0023x,f11.8,3x,f11.8,3x,f15.10)"
  496.         ;
  497.     static char fmt_299[] = "(a1)";
  498.     static char fmt_208[] = "(11x,¥002x¥002,16x,¥002log(x)¥002,9x,¥002exp(lo¥
  499. g(x))¥002)";
  500.     static char fmt_201[] = "(5x,f13.10,5x,f13.10,5x,f13.10)";
  501.  
  502.     /* System generated locals */
  503.     doublereal d__1;
  504.  
  505.     /* Builtin functions */
  506.     integer s_wsle(cilist *), do_lio(integer *, integer *, char *, ftnlen), 
  507.         e_wsle(), s_wsfe(cilist *), e_wsfe();
  508.     double sin(doublereal), cos(doublereal);
  509.     integer do_fio(integer *, char *, ftnlen), s_rsfe(cilist *), e_rsfe();
  510.     double log(doublereal), exp(doublereal);
  511.  
  512.     /* Local variables */
  513.     static char junk[2];
  514.     static doublereal c;
  515.     static integer i;
  516.     static doublereal s, x, c2, s2, pi;
  517.  
  518.     /* Fortran I/O blocks */
  519.     static cilist io___65 = { 0, 6, 0, 0, 0 };
  520.     static cilist io___66 = { 0, 6, 0, 0, 0 };
  521.     static cilist io___67 = { 0, 6, 0, fmt_207, 0 };
  522.     static cilist io___74 = { 0, 6, 0, fmt_200, 0 };
  523.     static cilist io___75 = { 0, 6, 0, 0, 0 };
  524.     static cilist io___76 = { 0, 5, 0, fmt_299, 0 };
  525.     static cilist io___78 = { 0, 6, 0, 0, 0 };
  526.     static cilist io___79 = { 0, 6, 0, fmt_208, 0 };
  527.     static cilist io___80 = { 0, 6, 0, fmt_201, 0 };
  528.  
  529.  
  530.     pi = (float)3.141592653589793;
  531.     s_wsle(&io___65);
  532.     do_lio(&c__9, &c__1, "¥nPart 1: Trig Functions", 23L);
  533.     e_wsle();
  534.     s_wsle(&io___66);
  535.     do_lio(&c__9, &c__1, "¥nGenerate a table of x, sin(x), cos(x) and the su¥
  536. m of their squares.¥n", 69L);
  537.     e_wsle();
  538.     s_wsfe(&io___67);
  539.     e_wsfe();
  540.     for (i = 0; i <= 12; ++i) {
  541.     x = i * pi / (float)6.;
  542.     s = sin(x);
  543.     c = cos(x);
  544. /* Computing 2nd power */
  545.     d__1 = s;
  546.     s2 = d__1 * d__1;
  547. /* Computing 2nd power */
  548.     d__1 = c;
  549.     c2 = d__1 * d__1;
  550.     s_wsfe(&io___74);
  551.     do_fio(&c__1, (char *)&i, (ftnlen)sizeof(integer));
  552.     do_fio(&c__1, (char *)&s, (ftnlen)sizeof(doublereal));
  553.     do_fio(&c__1, (char *)&c, (ftnlen)sizeof(doublereal));
  554.     d__1 = s2 + c2;
  555.     do_fio(&c__1, (char *)&d__1, (ftnlen)sizeof(doublereal));
  556.     e_wsfe();
  557.     }
  558.     s_wsle(&io___75);
  559.     do_lio(&c__9, &c__1, "¥nPart 2:  Exponential functions; hit return to co¥
  560. ntinue...", 58L);
  561.     e_wsle();
  562.     s_rsfe(&io___76);
  563.     do_fio(&c__1, junk, 2L);
  564.     e_rsfe();
  565.     s_wsle(&io___78);
  566.     do_lio(&c__9, &c__1, "Generate a table of x, log(x), and exp(log(x))¥n", 
  567.         47L);
  568.     e_wsle();
  569.     s_wsfe(&io___79);
  570.     e_wsfe();
  571.     for (i = 1; i <= 10; ++i) {
  572.     x = (doublereal) i;
  573.     s = log(x);
  574.     c = exp(s);
  575.     s_wsfe(&io___80);
  576.     do_fio(&c__1, (char *)&x, (ftnlen)sizeof(doublereal));
  577.     do_fio(&c__1, (char *)&s, (ftnlen)sizeof(doublereal));
  578.     do_fio(&c__1, (char *)&c, (ftnlen)sizeof(doublereal));
  579.     e_wsfe();
  580.     }
  581.     return 0;
  582. } /* trn_test__ */
  583.  
  584. /* Main program alias */ int test_f2c__ () { MAIN__ (); return 0; }
  585. #ifdef __cplusplus
  586.     }
  587. #endif
  588.